#ifndef COMPONENT_H_
#define COMPONENT_H_

// By: Jesse Guarascia de Urena
// Base Component Class
// All components (user-defined or otherwise)
// Must inherit this class

class Component{
protected:
	int index; // Index in the component manager

	bool destroy; // W-o-N to destroy the component

public:
	Component(void);
	virtual ~Component(void);

	// Functions must be updated
	virtual void Load() {}
	virtual void Update() = 0;
	virtual void Render() = 0;

	// Get the destroy flag
	inline bool Destroy() { return destroy; }
};

#endif // COMPONENT_H_